package com.jade.zsy.base.vo;

import com.jade.bss.base.utils.EntityVo;
import com.jade.bss.base.utils.RegValidation;
import com.jade.zsy.base.common.StatusConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Pattern;

/**
 * 员工信息表
 * User: jinya
 * Date: 2017/5/31
 * Time: 11:07
 * TEL :17701640710   MAIL:2009_jinya@163.com
 * To change this template use File | Settings | File Templates.
 */
@Data
@ApiModel(value ="员工信息")
public class EmployeeVo extends EntityVo {
    @ApiModelProperty(value = "headPic",notes = "头像")
    private String headPic; /** 信息所有者类型 **/
    @Length(max=20, min=1, message="最大不超过20")
    @ApiModelProperty(value = "员工编号")
    private String code; /** 员工编号 **/
    @NotBlank(message="名称不能为空")
    @Length(max=50, min=1, message="最大不超过50")
    @ApiModelProperty (value = "姓名")
    private String name; /** 姓名 **/
    @ApiModelProperty (value = "性别")
    private String gender; /** 性别 **/
    @Pattern(regexp= RegValidation.MOBILE, message=RegValidation.MOBILE_MSG)
    @ApiModelProperty (value = "手机号码")
    private String phone; /** 手机号码 **/
    @Pattern(regexp= RegValidation.PHONE, message=RegValidation.PHONE_MSG)
    @ApiModelProperty (value = "电话")
    private String tel; /** 电话 **/
    @Pattern(regexp= RegValidation.EMAIL, message=RegValidation.EMAIL_MSG)
    @ApiModelProperty (value = "邮箱")
    private String email; /** Email **/
    @ApiModelProperty (value = "出生日期")
    private String birth; /** 出生日期**/
    @ApiModelProperty (value = "助记码")
    private String helpCode; /** 助记码**/
    @ApiModelProperty (value = "证件类型")
    private String certType; /** 证件类型 **/
    @Length(max=50, min=0, message="最大不超过50")
    @ApiModelProperty (value = "证件号码")
    private String certNo; /** 证件号码 **/
    @ApiModelProperty (value = "所属部门")
    private long orgId; /** 所属部门**/
    @ApiModelProperty(name = "所属部门",required = true)
    private String orgDesc; /** 上级编号 **/
    @ApiModelProperty (value = "职务")
    private long positionId; /** 职务编号 **/
    @ApiModelProperty(name = "所属部门",required = true)
    private String positionDesc; /** 职务 **/
    @ApiModelProperty (value = "人员类别")
    private String personnelType; /** 人员类别 **/
    @Length(max=50, min=0, message="最大不超过50")
    @ApiModelProperty (value = "职称")
    private String jobTitle; /** 职称 **/
    @ApiModelProperty (value = "备注")
    private String remark; /** 备注 **/
    @ApiModelProperty (value = "职业")
    private String career; /** 职业 **/
    @ApiModelProperty (value = "学历")
    private String education; /** 学历 **/
    @ApiModelProperty (value = "专业")
    private String profession; /** 专业 **/
    @ApiModelProperty (value = "籍贯")
    private String nativePlace; /** 籍贯 **/
    @Pattern(regexp= RegValidation.CODE, message=RegValidation.CODE_MSG)
    @ApiModelProperty (value = "邮编")
    private String zip; /** 邮编 **/
    @ApiModelProperty (value = "通讯地址")
    private String address; /** 通讯地址**/
    @ApiModelProperty (value = "紧急联系人")
    private String emergencyContact; /** 紧急联系人 **/
    @ApiModelProperty (value = "家庭电话")
    private String emergencyContactTel; /** 家庭电话 **/
    @ApiModelProperty (value = "公积金账号")
    private String providentFundNo; /** 公积金账号 **/
    @ApiModelProperty (value = "社保编号")
    private String socialNo; /** 社保编号 **/
    @ApiModelProperty (value = "银行")
    private String bank; /** 银行 **/
    @ApiModelProperty (value = "银行帐号")
    private String bankNo; /** 银行帐号**/
    @ApiModelProperty (value = "状态值")
    private int status; /** 状态  0：正常  9：已停用 **/
    @ApiModelProperty (value = "状态")
    private String statusDesc; /** 状态  0：正常  9：已停用 **/
    public String getHeadPic() {
        return headPic;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setHeadPic(String headPic) {
        this.headPic = headPic;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }

    public String getHelpCode() {
        return helpCode;
    }

    public void setHelpCode(String helpCode) {
        this.helpCode = helpCode;
    }

    public String getCertType() {
        return certType;
    }

    public void setCertType(String certType) {
        this.certType = certType;
    }

    public String getCertNo() {
        return certNo;
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    public long getOrgId() {
        return orgId;
    }

    public long getPositionId() {
        return positionId;
    }

    public String getPersonnelType() {
        return personnelType;
    }

    public void setPersonnelType(String personnelType) {
        this.personnelType = personnelType;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCareer() {
        return career;
    }

    public void setCareer(String career) {
        this.career = career;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getProfession() {
        return profession;
    }

    public void setProfession(String profession) {
        this.profession = profession;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getZip() {
        return zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEmergencyContact() {
        return emergencyContact;
    }

    public void setEmergencyContact(String emergencyContact) {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyContactTel() {
        return emergencyContactTel;
    }

    public void setEmergencyContactTel(String emergencyContactTel) {
        this.emergencyContactTel = emergencyContactTel;
    }

    public String getProvidentFundNo() {
        return providentFundNo;
    }

    public void setProvidentFundNo(String providentFundNo) {
        this.providentFundNo = providentFundNo;
    }

    public String getSocialNo() {
        return socialNo;
    }

    public void setSocialNo(String socialNo) {
        this.socialNo = socialNo;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getBankNo() {
        return bankNo;
    }

    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public void setOrgId(long orgId) {
        this.orgId = orgId;
    }

    public String getOrgDesc() {
        return orgDesc;
    }

    public void setOrgDesc(String orgDesc) {
        this.orgDesc = orgDesc;
    }

    public void setPositionId(long positionId) {
        this.positionId = positionId;
    }

    public String getPositionDesc() {
        return positionDesc;
    }

    public void setPositionDesc(String positionDesc) {
        this.positionDesc = positionDesc;
    }

    public String getStatusDesc() {
        return StatusConstant.getDesc(status);
    }
}
